/**
 * 预配置的国际化语言 JSON
 */
const languageData = {
    "home": "主页",
    "about": "关于我们",
    "contact": "联系我们",
    "welcome_message": "欢迎使用我们的服务！"
};

/**
 * 替换字符串中的 <%location:xxx%> 为对应的国际化语言值
 * @param {string} input - 输入字符串
 * @param {Object} langData - 语言数据 JSON
 * @returns {string} - 替换后的字符串
 */
function replaceLanguageTags(input, langData = languageData) {
    // 正则表达式：匹配 <%location:xxx%> 形式
    // 捕获 xxx 部分
    const regex = /<%location:([^%]+)%>/g;

    return input.replace(regex, (match, key) => {
        // 去掉 key 前后空格
        const trimmedKey = key.trim();

        // 在语言数据中查找对应的值
        const replacement = langData[trimmedKey];

        // 如果找到对应的值，则替换；否则保留原始占位符
        return replacement !== undefined ? replacement : match;
    });
}

// // 测试代码
// const testString = `
// Welcome to <%location:home%> and <%location:about%>!
// Here is a <%location:welcome_message%>
// Unknown tag: <%location:unknown%>
// `;

// const result = replaceLanguageTags(testString);
// console.log(result);